Regression Analysis

회귀분석(Regression Analysis)
독립변수들이 종속변수에 얼마나 영향을 미치는지 추정하는 통계기법이다.

독립변수가 하나이면, 단순선형회귀분석,
2개 이상이면, 다중선형회귀분석으로 분석한다.

종속변수가 범주형일 경우 로지스틱 회귀 분석 이용

회귀는 인과관계가 있어야 한다.
인관관계 전제 조건: 선형성, 독립성, 등분산성, 정규성, 비상관성
회귀 추세선(단순회귀) y=ax+b에서
a는 회귀계수(기울), b는 파라미터(절편) 이라고 한다.

회귀계수가 크면, x값에 대하여서 y축의 값이 민감하게 변화한다.(인과관계가 강함)
종류 모형
단순회귀 1개의 독립변수와 반응변수가 직선(선형) 관계
다중회귀 k개의 독립변수와 반응변수가 선형 관계
다항회귀 k개의 독립변수가 반응변수가 2차 함수 이상의 관계
비선형회귀 회귀식의 미지의 모수들과 선형관계가 아닌 경우(지수함수, 로그함수, 삼각함수 등)
1. 단순선형회귀분석
    자동차 배기량과 연비 회귀분석

> X<-c(1, 1.4, 1.6, 2, 2.2, 2.4, 3, 3.3, 3.6)

> Y<-c(15, 13, 13, 12, 11, 10.5, 10, 9, 8)

> result<-lm(Y~X)        # lm은 linear model을 의미한다.

> summary(result)


Call:

lm(formula = Y ~ X)


Residuals:

     Min       1Q   Median       3Q      Max 

-0.47990 -0.41705  0.04524  0.21353  0.60809 


Coefficients:

            Estimate Std. Error t value Pr(>|t|)    

(Intercept)  16.8291     0.4142   40.63 1.43e-09 ***

X            -2.4371     0.1707  -14.27 1.97e-06 ***

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Residual standard error: 0.4277 on 7 degrees of freedom

Multiple R-squared:  0.9668, Adjusted R-squared:  0.962 

F-statistic: 203.7 on 1 and 7 DF,  p-value: 1.97e-06

p-value의 값이 1.97e-06으로 유의수준 0.05보다 작기 때문에 귀무가설을 기각한다.
회귀계수는 -2.4371일 것으로 추정
상수항 추정치는 16.8291
    분산분석표와 수정계수

> X<-c(1, 1.4, 1.6, 2, 2.2, 2.4, 3, 3.3, 3.6)

> Y<-c(15, 13, 13, 12, 11, 10.5, 10, 9, 8)

> result<-lm(Y~X)

> anova(result)

Analysis of Variance Table


Response: Y

          Df Sum Sq Mean Sq F value   Pr(>F)    

X          1 37.275  37.275  203.73 1.97e-06 ***

Residuals  7  1.281   0.183                     

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R^2(결정계수)를 계산할 때,
R^2=SSR/SST=SSR/(SSR+SSE) 에서
SSR은 X의 Mean Sq
SSE는 Residuals의 Mean Sq를 사용
2. 다중선형회귀분석
다중선형회귀분석에서는 다중공선성에 유의하여야 한다.(회귀분석의 기본 가정인 독립성 위배)

결정계수 R^2값이 커서 회귀식의 설명력이 높지만, 각 독립변수의 P-value 값이 커서
개별 인자가 유의하지 않는 경우 다중공선성을 의심할 수 있다.
분산팽창요인(VIF)을 구해 값이 10이 넘는다면, 다중공선성이 있다고 판단할 수 있다.
다중 공선성 해결법
다중공선성 발생 변수 제거
주성분분석(PCA)를 통해 변수의 차원을 축소(R에서 스크리 산점도(Scree Plot)을 이용해 주성분 개수 선택)
선형판별분석(LDA)를 통해 차원을 축소
t-분포 확률적 임베딩(t-SNE)으로 차원을 축소
특잇값 분해(SVD)로 차원을 축소(PCA와 유사하지만, 행 열의 크기를 다른 행렬에도 적용 가능)

> yard<-c(31, 31, 27, 39, 30, 32, 28, 23, 28, 35)

> area<-c(58, 51, 47, 35, 48, 42, 43, 56, 41, 41)

> park<-c(1, 1, 5, 5, 2, 4, 5, 1, 1, 3)

> dist<-c(492, 426, 400, 125, 443, 412, 201, 362, 192, 423)

> price<-c(12631, 12084, 12220, 15649, 11486, 12276, 15527, 12666, 13180, 10169)

> result<-lm(price~yard+area+park+dist)

> summary(result)


Call:

lm(formula = price ~ yard + area + park + dist)


Residuals:

     1      2      3      4      5      6      7      8      9     10 

 211.9  193.4 -451.5 -193.6  247.8  801.9  387.0 -486.6  100.3 -810.6 


Coefficients:

            Estimate Std. Error t value Pr(>|t|)   

(Intercept) 3045.689   4084.218   0.746  0.48939   

yard         117.922     65.779   1.793  0.13300   

area         230.563     61.193   3.768  0.01305 * 

park         436.801    155.508   2.809  0.03760 * 

dist         -16.446      2.489  -6.609  0.00119 **

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Residual standard error: 645.3 on 5 degrees of freedom

Multiple R-squared:  0.9184, Adjusted R-squared:  0.8531 

F-statistic: 14.07 on 4 and 5 DF,  p-value: 0.006267

p-value는 0.006267로 귀무가설을 기각한다.(추정식이 통계적으로 유의하다)
yard를 제외한 모든 변수는 p-value 값이 0.05 이내로 통계적으로 유의하다.
3. 최적 회귀방정식
1개의 반응변수 y를 설명하기 위한 k개의 독립변수 후보들이 있을 때, 반응변수 y를 가장 잘 설명할 수 있는
회귀식을 찾는 것이 최적 회귀방정식의 목표이다.
변수 선택법
변수 선택법에는 크게 부분집합법과 단계적 변수선택법으로 나눌 수 있다.

부분집합법: 모든 가능한 모델을 고려하여 가장 좋은 모델을 선정하는 방법,
                  변수가 많아지면 검증해야 하는 회귀 분석도 많아진다.(임베디드 기법)
                  라쏘, 릿지, 엘라스틱넷 등의 다양한 방법을 이용한다.

단계적 변수선택법: 일정한 단계를 거치면서 변수를 추가하거나 혹은 제거하는 방식으로 최적의 회귀 방적식을 선정
                            전진선택법, 후진제거법, 단계선택법 등이 있다.